// 导入所需的模块
const http = require('http');   // HTTP 模块，用于创建服务器
const fs = require('fs');       // 文件系统模块，用于读取文件
const path = require('path');   // 路径模块，用于处理文件路径

// 创建 HTTP 服务器
const sv = http.createServer((req, res) => {
    // 获取请求的路径
    let { pathname } = new URL(req.url, `http://${req.headers.host}`);  // 使用 URL 对象解析请求的路径

    // 打印请求的方式和路径
    console.log(`请求方法：${req.method}\t请求路径：${pathname}`);

    // 判断请求路径并做相应处理
    if (pathname === '/') {
        // 当请求路径是根目录时，读取并返回 index.html 文件的内容
        res.end(fs.readFileSync(path.join(__dirname, 'public/html/index.html'), 'utf8'));
    } else if (pathname === '/css/index.css') {
        // 当请求路径是 /css/index.css 时，读取并返回 index.css 文件的内容
        res.end(fs.readFileSync(path.join(__dirname, 'public/css/index.css'), 'utf8'));
    } else if (pathname === '/js/index.js') {
        // 当请求路径是 /js/index.js 时，读取并返回 index.js 文件的内容
        res.end(fs.readFileSync(path.join(__dirname, 'public/js/index.js'), 'utf8'));
    }else {
        res.end('错误404...')
    }
});

// 启动服务器并监听 3000 端口
sv.listen(3000, () => {
    console.log('Server is running at http://localhost:3000');
});